<?php
class TeachersController extends AppController 
{
   var $name      = 'Teachers';
   var $filiacoes = array('Teacher');

   
   function index() 
   {
      $this->set('teachers', $this->Teacher->find('all'));
   }
   
   
   function add() 
   {
      $this->setFiliacoes();

      if (!empty($this->data)) 
      {
         $this->Teacher->set($this->data);

         if ($this->Teacher->find('count', array('conditions' => array('cpf' => $this->data['Teacher']['cpf']))) > 0)
            $this->Teacher->invalidate('cpf', 'Já existe um professor cadastrado com este CPF.');
         else if ($this->Teacher->save($this->data))
         {
            $this->Session->setFlash('Professor cadastrado com sucesso.');
            $this->redirect(array('action' => 'index'));
         }
      }         
   }
   

   function edit($cpf = null) 
   {
      $this->setFiliacoes();

      $this->Teacher->id = $cpf;

      if (empty($this->data)) 
      {
         $this->data = $this->Teacher->read();
      }
      else
      {
         $this->Teacher->set($this->data);

         if ($this->Teacher->validates())
         {
            if ($this->Teacher->save($this->data, false))
            {
               $this->Session->setFlash('As informações do professor foram atualizadas com sucesso.');
               $this->redirect(array('action' => 'index'));
            }
         }
      }
   }


   function delete($id = null)
   {
      if (($id != null) && ($this->Teacher->find('count', array('conditions' => array('cpf' => $id))) > 0))
      {
         $this->Teacher->delete($id);
         $this->Session->setFlash('Professor removido com sucesso.');
         $this->redirect(array('action'=>'index'));
	   }
	   else
      {
         $this->Session->setFlash('CPF inválido. Nenhum professor foi removido.', 'default', array('class' => 'flashError'));
         $this->redirect(array('action'=>'index'));
	   }		
   }
     
   
   function setFiliacoes()
   {
      $filiations = $this->Teacher->Filiation->find('list', array('fields' => array('id', 'filiacao')));

      $this->set(compact('filiations'));
   }
}
?>
